﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CNLTHD_GoogleMapAPI_DAO;
using CNLTHD_GoogleMapAPI_DTO;
namespace CNLTHD_GoogleMapAPI.UserControl
{
	public partial class DangNhapControl : System.Web.UI.UserControl
	{
        private bool dangNhapThanhCong;

        public bool DangNhapThanhCong
        {
            get { return dangNhapThanhCong; }
            set { dangNhapThanhCong = value; }
        }

		protected void Page_Load(object sender, EventArgs e)
		{
			lblThongBao.Text = "";
			// Lấy session và cookie để tiến hành đăng nhập.
			HttpCookie tenDangNhap = Request.Cookies["TenDangNhap"];
			HttpCookie matKhau = Request.Cookies["MatKhau"];

			string sTenDangNhap = "";
			string sMatKhau = "";
		
			bool isLoginSuccessfully = false;

			if (Session["NguoiDung"] != null)
			{
				// Lấy session để đăng nhập.
				NguoiDung nd = (NguoiDung)Session["NguoiDung"];

				isLoginSuccessfully = login(nd.TenTaiKhoan, nd.MatKhau);

			}
			else if ((tenDangNhap != null && matKhau != null ))
			{
				// Lấy cookie để đăng nhập
				sTenDangNhap = (string)tenDangNhap.Value;
				sMatKhau = (string)matKhau.Value;
				

				if (login(sTenDangNhap, sMatKhau))
				{
					isLoginSuccessfully = true;
				}
			}

			// Nếu đăng nhập nhập bằng session và cookies thành công thì hiển thị tên tài khoản
			// Nếu không thì hiện thị form đăng nhập.
			if (isLoginSuccessfully)
			{
				box_dangnhap_form.Visible = false;
				box_dangnhap_info.Visible = true;
				ltlThongTin.Text = sTenDangNhap;
			}
			else
			{
				
			}
			
		}

		private bool login(string sTenDangNhap, string sMatKhau)
		{
			if (sTenDangNhap == null || sMatKhau == null)
			{
				return false;
			}
			NguoiDung nd = NguoiDungDAO.LayNguoiDung(sTenDangNhap.Trim());

			if (nd == null)
			{
				return false;
			}
			if (nd.MatKhau.Trim() == sMatKhau)
			{
				Session.Add("NguoiDung",nd);
				dangNhapThanhCong = true;
				return true;
			}
			else 
				return false;
		}

		protected void btnSubmit_Click(object sender, EventArgs e)
		{

			string TenDangNhap = txtTenTaiKhoan.Text;
			string MatKhau = txtMatKhau.Text;

			bool dangNhap = login(TenDangNhap, MatKhau);

			if (dangNhap)
			{
				this.Response.Redirect("~/Trangchu.aspx");
			}
			else 
			{
				lblThongBao.Text = "Quá trình đăng nhập thất bại.";
			}
		}

		protected void btnLogout_Click(object sender, EventArgs e)
		{
			
		}
	}
}